package com.baoyouqun.base;

import io.swagger.annotations.ApiModelProperty;

/**
 * 系统静态字面量管理类
 * 集中存放所有静态常量、键名、状态码等，避免硬编码
 */
public class SystemConstant {

    // ====================================== Sa-Token 相关常量 ======================================
    /**
     * Sa-Token会话中存储用户信息的键名
     */
    public static final String SA_TOKEN_USER_INFO = "user";

    /**
     * 登录用户ID在会话中的存储键名
     */
    public static final String SA_TOKEN_USER_ID = "userId";

    /**
     * Sa-Token默认令牌名称（请求头中的键）
     */
    public static final String SA_TOKEN_DEFAULT_TOKEN_NAME = "Authorization";

    /**
     * 管理员角色标识
     */
    public static final String ROLE_ADMIN = "admin";

    /**
     * 普通用户角色标识
     */
    public static final String ROLE_USER = "user";

    // ====================================== 会员相关常量 ======================================
    /**
     * 临时会员等级
     */
    public static final String MEMBER_LEVEL_NORMAL = "临时会员";

    /**
     * VIP会员等级
     */
    public static final String MEMBER_LEVEL_VIP = "VIP会员";

    /**
     * 权限类型_菜单
     */
    public static final String PERMISSION_TYPE_MENU = "menu";
    /**
     * 按钮
     */
    public static final String PERMISSION_TYPE_BOTTON = "botton";

    @ApiModelProperty("默认头像地址")
    public static final String DEFAULT_HEAD_IMG = "";

    @ApiModelProperty("默认名称")
    public static final String DEFAULT_NAME = "匿名用户";


    // 私有构造方法，防止实例化
    private SystemConstant() {
        throw new AssertionError("禁止实例化工具类");
    }
}
